package com.baibei.ebec.home.index;

import com.baibei.basic.IPageView;
import com.baibei.basic.IPresenter;
import com.baibei.basic.IPresenterView;
import com.baibei.model.Area;
import com.baibei.model.BannerInfo;
import com.baibei.model.CouponInfo;
import com.baibei.model.LastPriceInfo;
import com.baibei.model.ProductInfo;
import com.baibei.model.QuotationInfo;
import com.baibei.model.RankingInfo;
import com.baibei.model.ShipmentInfo;

import java.util.List;

/**
 * 首页
 * Created by ChenRui on 2017/8/4 0004 10:52.
 */
public interface HomeIndexContract {


    interface Presenter extends IPresenter {

        /**
         * 获取qq
         */
        void getServiceQQ();
        /**
         * 获取体验券和数量列表
         */
        void loadBalanceAndCoupons();

        /**
         * 获取体验券和数量列表
         */
        void loadlastprice();
        /**
         * 获取可用体验券列表
         *
         * @return return
         */
        List<CouponInfo> getValidCouponList();

        /**
         * 获取建议数量
         *
         * @return return
         */
        List<Integer> getSuggestNumbers();

        /**
         * 获取最大自定义数量
         *
         * @return return
         */
        int getMaxDefindCount();
    }

    interface View extends IPresenterView, IPageView<ShipmentInfo> {
        /**
         * 加载广告数据
         */
        void onLoadBannerData(List<BannerInfo> data);
        /**
         * 加载广告数据
         */
        void onLoadClosePrice(List<LastPriceInfo> data);
        /**
         * 获取某一个产品信息
         */
        ProductInfo getProduct();


        /**
         * 没有广告数据
         */
        void onEmptyBanner();

        /**
         * 数据加载完毕
         */
        void onLoadComplete();

        /**
         * 通过加载排行榜接口加载每个商品关市价
         */
        void onLoadCloseprice(List<RankingInfo> info);
        /**
         * 刷新完成
         */
        void refreshCompleted();

        /**
         * 获取区域
         */
        Area getArea();

        /**
         * banner失败
         * @param s s
         */
        void onLoadBannerFailed(String s);



        /**
         * 加载qq成功
         * @param url
         */
        void onLoadServiceQQSuccess(String url);


        /**
         * 加载qq失败
         * @param msg msg
         */
        void onLoadServiceQQFailed(String msg);

        /**
         * 关闭loading
         */
        void hideLoading();

        /**
         * 加载中
         */
        void showLoading();

        /**
         * 加载体验券
         *
         * @param couponInfos couponInfos
         */
//        void onLoadCoupons(List<CouponInfo> couponInfos);
    }
}
